home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 June
/
EnigmA AMIGA RUN 19 (1997)(G.R. Edizioni)(IT)[!][issue 1997-06][EAR-CD III].iso
/
for amiga
/
v1.2
/
announce-1.2.13pl4.z
/
announce-1.2.13pl4
Wrap
Text File
|
1997-04-23
|
16KB
|
321 lines
This announces the availability of version 1.2.13pl4 of Linux/68k. The
source and a precompiled kernel are in /pub/linux/680x0 on
tsx-11.mit.edu.
BEFORE RUNNING THIS KERNEL, CAREFULLY READ EVERY PART OF THIS
ANNOUNCEMENT, AND PLAY CLOSE ATTENTION TO THE *EXT2FS* SECTION:
******************************************************************
*** ***
*** The bitmap order of ext2 filesystems has changed again!!! ***
*** ***
******************************************************************
This kernel *cannot* be used with existing ext2fs filesystems from 0.9
or 1.2.13 up to pl3 without "fixing" them. See *EXT2FS* below.
Changes against the last version:
- Integrated patches 0.9.12 -> 0.9.13 (see announcement of 0.9.13)
This also includes the driver for the GVP IO-Extender board by
jds@kom.auc.dk and proper permissions for AFFS root dirs. (Tnx to
schwab@issan.informatik.uni-dortmund.de for the adaption to 1.2)
- I did some minor changes to Makefiles for cross compiling, most in
arch/m68k/Makefile (setup), but also in net/Makefiles (it
referenced ar and ranlib directly, not by the make variables)
(myself)
- Integrated the kswap patches for better swapping performance (these
are really for 1.3 versions, but work well in 1.2 and they're worth
it if there's a lot of swapping...) (Tnx to
schwab@issan.informatik.uni-dortmund.de)
- Updated the Zorro Autoconfig stuff: moved all Zorro specific things
to zorro.h. Now there's also an API for the Zorro devices (cfr.
FindConfigDev()) which should make it easier for device driver
writers to find their boards. Now there are 32 parts for every
board, which can be marked configured independently, to support
boards with more than one part on it. Also added some new boards
and fixed IDs for A590 and A2091.
(Geert.Uytterhoeven@cs.kuleuven.ac.be)
- New: Driver for both, parallel and serial parts of the Multiface
III Amiga board. On the serial side, only one port is fully
complete. See source for a describtion. (dorchain@mpi-sb.mpg.de)
- Got rid of all the NTSC/PAL detections and the NTSC/PAL baud
divisor tables. Now everything is derived from the E-Clock
directly. Also added amiga_eclock (#define for the E-Clock value in
the bootinfo: 700 kHz), amiga_colorclock (3.5 MHz) and
amiga_masterclock (28 MHz), which are all derived from the E-Clock
value. (Geert.Uytterhoeven@cs.kuleuven.ac.be)
- Updated CREDITS.m68k (jmayer@informatik.uni-kl.de,
Geert.Uytterhoeven@cs.kuleuven.ac.be and myself)
- Updated Documentation/m68k/kernel-options.txt and copied some
interesting files from the PC-Linux Documentation directory
(myself)
- Changed the bitmap order in ext2 filesystems again. There's one big
advantage in this: ext2 filesystems become totally portable by
this, i.e. every ext2 filesystem can be read and written on any
Linux platform. Ok, the m68k kernel is still missing the byte
swapping for multi-byte data, but this is a secondary problem. The
more important is, that there's a uniform bitmap order now across
all architectures. This common basis has been developed in a
discussion with Linux Torvalds, Ted Ts'o, David Miller (Sparc
port), Andreas Schwab and me.
The internals: Now the ext2, minix, and kernel internal bitmap bit
orders may be different. For a little endian machine, all are the
same (little endian, of course :-). For the m68k as a big endian
machine, the ext2 bitmap operations implement the same order as
little endian machines do. By this, the ext2 bitmaps are portable.
(And there are no performance tradeoffs by this compared to older
1.2.13 versions.) The kernel internal bit operations still use big
endian order, to make set_bit() compatible with (1<<i) and to
ensure that set_bit(,0) gives a value of 1.
- Fixed bugs in map_chunk() and kernel_map(), that caused pointer
tables not to be allocated under some circumstances. This was most
probably the reason for the ">32MB bug".
(schwab@issan.informatik.uni-dortmund.de)
- Major revision of the Atari DMA sound driver. In brief: New kernel
option "atasound=" (see Documentation/m68k-kernel-options.txt); can
now play samples at almost all frequencies; takes more care when
expanding and if only small chunks of data are written; AFMT_QUERY
implemented and supports negative arguments to setSpeed and
setStereo to just report the current settings; fsync() implemented;
settings for /dev/dsp are now correctly remembered over device
open()s and close()s (itschere@TechFak.Uni-Bielefeld.DE, 1.2
adaptions by schwab@issan.informatik.uni-dortmund.de)
- Fixed the bootstrap support for Magnum and BlowUp FX RAM (both
cookie structures were buggy :-( ) The new Atari bootstrap has
version 1.4. (myself together with the original authors)
- New: Driver for Lance-based Ethernet boards (RieblCard on all bus
systems, PAM VME board (untested yet)) for the Atari. It works
easily like any Ethernet driver ("ifconfig eth0 ...") and you don't
need any special preparations. One exception from this is the old
RieblCard without a battery: For this, you must manually set the
Ethernet address by the command
ifconfig eth0 hw ether 00:00:36:04:xx:xx
*before* the board is opened, i.e. before the usual ifconfig and
other network setup stuff. (myself; tnx to Gunther Kemeny for
supplying the board!)
- New: Driver for the Atari SLM laser printer. This currently works
with a statically allocated buffer of 1 MB, so configure this
driver only if you need it (it's also omitted in the precompiled
kernels on tsx-11). I also found a way to avoid the timing problems
we discussed earlier, this point is absolutely uncritical. The SLM
uses major 28 (like ACSI), but as character device. The minor is
the number of the printer. So you need the following devices:
mknod /dev/slm0 c 28 0
mknod /dev/slm1 c 28 1
...
Reading the printer device (e.g. "cat /dev/slm0") gives a status
and mode report (similar to /proc files). On writing, the printer
expects a raw page bitmap of the current page size (which must be
queried before!). I've put my current printer spooling system onto
tsx-11.mit.edu in bin/lpd-SLM.tar.gz as an example. It also
includes a filter for preparing the page data from PostScript, and
a tool for querying/setting printer modes (not all implemented in
the kernel yet).
The SLM driver is not really finished yet, but it works. What's
still needed: dynamic allocation of the printer buffer (to avoid
wasting 1 MB most of the time); more ioctls for getting/setting
printer modes, but I still need a bit more infos about the MODE
SENSE data of the SLM. (myself)
- Corrected the frequencies of the Atari SCC: RTxC is really 3.672
MHz (not 3.6864 MHz), and PCLK is 8.0539763 MHz (instead of exact
8). This also caused some changes in the baud tables, specially for
low rates. (drpiper@cix.compulink.co.uk)
- Fixed a bug in the CTS handling of the serial drivers, when the tty
is already hung up. (chrnadig@iiic.ethz.ch)
- Handling of self-built-in CapsLock LEDs on the Atari
(Gerald_Haese@hro.maus.de)
- Changed handling of FDGETPRM in both (Amiga&Atari) floppy drivers
to be compatible with PC Linux; this is necessary for the new
e2fsprogs. The fdformat utility must be recompiled due to this!
(schwab@issan.informatik.uni-dortmund.de)
- If ROOT_DEV is a floppy and the kernel sees a "ramdisk=x"
parameter, the ramdisk contents are read from another disk (like PC
Linux does). This applies only if no ramdisk is specified by by
bootstrap. (schwab@issan.informatik.uni-dortmund.de)
- One more update_screen() was needed in vc_screen.c.
(schwab@issan.informatik.uni-dortmund.de)
- Some more functions defined as inline, like in 1.3.42
(schwab@issan.informatik.uni-dortmund.de)
- I found the reason why the kernel sometimes died with "data write
fault at 0x800000xx": The zorro_find() function didn't test for
machtype == AMIGA, and if it was Atari, it interpreted some
uninitialized part of the bootinfo as the autoconf structures...
and eventually returned that there is an Amiga board of some type
:-) (myself)
- Removed the test in the Atari SCSI driver for "reselection after
won arbitration?". It caused too much trouble... (myself)
- Atari TT-High is now white on black again by default. The reason
that didn't work was the missing new 'clear_inv' parameter to
reset_terminal(). (myself)
- I've ported the 'make xconfig' stuff from newer 1.3 kernel
versions, that allow kernel configuration under X11 (you need
Tcl/Tk for this). It worked nearly out-of-the-box, except one test
in tkgen.c (look for "roman"). I've also adapted the Configure
script and wrote some brief help texts for m68k. But still more
work needs to be done on this... Any volunteers? (myself)
- I implemented /proc/interrupts by adding a m68k-specific
get_irq_list() function, that delegates part of its work to a
machine specific function. This also requires a device name given
in each call to add_isr(). I did this and the mach_get_irq_list for
the Amiga part, too, but there may be improvements necessary...
(myself)
- Slight changes to the bitmap operations to give gcc more chances to
optimize. (schwab@issan.informatik.uni-dortmund.de)
- Renamed wait_for_IRQ() and update_timeout() to acsi_wait_for_IRQ()
and scsi_update_timeout(), resp., to avoid the possibility of name
clashes, since these functions aren't static anymore.
(schwab@issan.informatik.uni-dortmund.de)
- New IDE driver for both, Amiga and Atari. It is derived from the
1.2 PC-Linux IDE driver and should perform better than the old
driver. It also has all the code to support ATAPI CD-ROMs, but
Torsten has to check this for m68k first. Maybe that's ready in the
next release. (t_ebelin@informatik.uni-kl.de)
- BOOTP/TFTP support in the Atari bootstrap for remote booting over
Ethernet. Since not many people are likely to use that, this
feature must be enabled manually in arch/m68k/boot/Makefile by
defining USE_BOOTP. Also the low-level Ethernet drivers have to
configured by hand, but for now there's only one... (the Lance
driver for RieblCard and PAM-VME). BOOTP/TFTP works by requesting
an IP address and a kernel image name from a boot server, and then
downloading the kernel from there. (myself)
- On the Atari, the timer interrupt function now runs with all ints
except the timer int enabled. This is done by a wrapper function
that masks the timer int in the MFP and then does a sti(). Similar
should be possible for the Amiga. (myself)
- Some minor cleanups in head.S. (myself)
- In get_kpointer_table(), one pointer too much was reserved. head.S
only uses the first three slots. (myself)
- Now SCSI on the Medusa should really work! The reason was that, on
the Medusa, the NCR5380 "read overruns" (described by Drew Eckhardt
for the PC) are reality, while they never occured on TTs and we had
already thrown away the code... After re-writing the overrun
handling code, also scatter-gather works now. But ---again--- one
problem is left: The SCSI-DMA rest data register seems to behave
different on the Medusa, so currently transfers that aren't a
multiple of 4 have to be avoided. We're investigating on this...
(floeck@wctc6.chemie.uni-wuppertal.de and me, also with some help
from Freddi Aschwanden)
- Amiga and Atari consoles now use the same (IBM-encoded) fonts, the
ones from the Atari console. An IBM-Font is necessary for the block
graphics of the VT100 graphics mode. The font files itself have
been moved to arch/m68k/fonts. (dorchain@mpi-sb.mpg.de and me)
- When formatting HD diks on an Atari, the gap before the first
sector was too small. (schwab@issan.informatik.uni-dortmund.de)
- There is a problem that forced me to switch back to hardware EOI
mode on the Atari again: Interrupts from VME boards (e.g. a
RieblCard :-) can be level-triggered instead of edge-triggered
(like those from MFP and SCC). This implies that the IPL must not
be lowered for them, else an "endless interrupt loop" occurs (until
the int condition is turned off in the hardware, but the high-level
int code cannot handle this). Andreas Schab and I already made our
thoughts about that problem, but a bitfield for distinguishing both
types of interrupts also didn't cure the problem :-( Again, a
higher level interrupt can arrive before the int is turned off, and
then lower the IPL itself (for instance, SCSI, or the timer int
now). So, we'll stick with the hardware EOI mode for now, which
avoids all the trouble by not lowering the IPL.
- Together with the above change, the symbol USE_SOFTWARE_EOI in
arch/m68k/atari/ataint.s has been renamed to ATARI_USE_SOFTWARE_EOI
and was made global in atariints.h. The SCC driver needs this to
know whether it should reset the SCC's highest IUS bit itself, or
let atari_process_int() do this. Other drivers may need it as well
in future. (myself)
Known problems that aren't fixed yet:
- There is a strange bug in the memory management, that may cause the
machine to crash if you have between 24 MB (inclusive) and 32 MB
(exclusive) of RAM. (May happen only on '040s)
- On the Atari Medusa, the contents of a ramdisk may be trashed by
the bootstrap if you have configured some other amount than exactly
8 MB of ST-RAM. If this happens: use 8 MB ST-RAM or throw out some
accessories/auto-folder proggies.
The precompiled kernel contains both, Amiga and Atari support, so it
is very big. You propably want to compile your own kernel tailored to
your personal needs. Note also that there have been some problems
reported that such big kernels cannot be booted with Amiga Lilo.
There are also several new/modified utility packages on tsx-11:
- v1.2/filesys-for-pl4.gz: Ramdisk (ext2) with new e2fsprogs for pl4;
this ramdisk is only intended for restucturing filesystems, not for
a "rescue disk"
- bin/atafdformat.tar.gz: Updates for new floppy size structures
- bin/SLMtools.tar.gz: A special filter for the SLM printer to cut
off the 75 pixel border, setSLM for setting printer modes, and an
example spooling system
*EXT2FS*:
The bit order in the inode and block bitmaps of an ext2 filesystem
has changed again (compared to 0.9.x versions of the kernel, or
1.2.13 versions up to pl3; see also the ANNOUNCE-* files for
these). With this new change, we prepare for ext2fs portability over
all platforms. In the near future, you'll be able to read an ext2
filesystem written on any Linux/* machine on any other one. This
should be worth the trouble of changing the filesystem structure
again :-) But it should be the last time...
The effect of this change is that the inode and block bitmaps of
existing ext2fs filesystems *cannot* be used by this 1.2.13pl4
kernel. If you want to use existing filesystems, you must boot the
"filesys-for-pl4" ramdisk filesystem (in tsx-11's v1.2 directory),
and run the /sbin/e2fsck program on every ext2fs filesystem you
intend to use with the 1.2.13pl4 kernel. Note that after running
the new e2fsck on these filesystems, they cannot be used by 0.9.x
or 1.2.13plx (x <= 3) kernels unless you run the 0.9.x or 1.2.13pl3
e2fsck on them. If you wish to create a *new* ext2fs partition to
use with 1.2.13pl4, use the mke2fs on the new ramdisk filesystem.
(For those who already switched their filesystems to 1.2.13plx (x
<= 3): the same procedure as from 0.9... :-)
Roman